package com.cleaningcloud.cld.service;

import com.cleaningcloud.cld.domain.dto.CldMaterialAppDto;
import com.cleaningcloud.cld.domain.vo.CldMaterialAppVo;

import java.util.List;

/**
 * 项目申请Service接口
 *
 * @author cleaningcloud
 * @date 2024-10-28
 */
public interface ICldMaterialAppService {
    /**
     * 查询项目申请
     *
     * @param materialAppId 项目申请主键
     * @return 项目申请
     */
    CldMaterialAppVo selectCldMaterialAppByMaterialAppId(Long materialAppId);

    /**
     * 查询项目申请列表
     *
     * @param cldMaterialApp 项目申请
     * @return 项目申请集合
     */
    List<CldMaterialAppVo> selectCldMaterialAppList(CldMaterialAppDto cldMaterialApp);

    /**
     * 新增项目申请
     *
     * @param cldMaterialApp 项目申请
     * @return 结果
     */
    int insertCldMaterialApp(CldMaterialAppDto cldMaterialApp);

    /**
     * 修改项目申请
     *
     * @param cldMaterialApp 项目申请
     * @return 结果
     */
    int updateCldMaterialApp(CldMaterialAppDto cldMaterialApp);


    /**
     * 审核项目申请
     *
     * @param cldMaterialApp 项目申请
     * @return 结果
     */
    int auditCldMaterialApp(CldMaterialAppDto cldMaterialApp);


    /**
     * 批量删除项目申请
     *
     * @param materialAppIds 需要删除的项目申请主键集合
     * @return 结果
     */
    int deleteCldMaterialAppByMaterialAppIds(Long[] materialAppIds);

    /**
     * 删除项目申请信息
     *
     * @param materialAppId 项目申请主键
     * @return 结果
     */
    int deleteCldMaterialAppByMaterialAppId(Long materialAppId);
}
